Distributed process control systems, like those used in chemical, petroleum or other processes, typically include one or more process controllers communicatively coupled to one or more field devices via analog, digital or combined analog and digital buses. The field devices, which may be, for example, valves, valve positioners, switches and transmitters (e.g., temperature, pressure, level and flow rate sensors), are located within the process environment and perform process functions such as opening or closing valves, measuring process parameters, etc. Intelligent (or “smart”) field devices, such as the field devices conforming to the well-known Fieldbus protocols, like the FOUNDATION® Fieldbus protocol, or the HART® or WirelessHART® protocols, may also perform control calculations, alarming functions, and other control functions commonly implemented within the controller. The process controllers, which are also typically located within the plant environment, receive signals indicative of process measurements made by the field devices and/or other information pertaining to the field devices and execute a controller application that runs, for example, different control modules that make process control decisions, generate control signals based on the received information and coordinate with the control modules or blocks being executed in the field devices, such as HART® and Fieldbus field devices. The control modules in the controller send the control signals over the communication lines to the field devices to thereby control the operation of the process.
Information from the field devices and the controller is usually made available over a data highway to one or more other hardware devices, such as operator workstations, personal computers, data historians, report generators, centralized databases, etc., typically placed in control rooms or other locations away from the harsher plant environment. These hardware devices execute plant monitoring applications that may, for example, enable an operator to perform functions with respect to the process, such as changing settings of the process control routine, modifying the operation of the control modules within the controller or the field devices, viewing the current state of the process, viewing alarms generated by field devices and controllers, simulating the operation of the process for the purpose of training personnel or testing the process control software, keeping and updating a configuration database, performing maintenance actions on the plant equipment, etc.
As an example, the DeltaV™ control system, sold by Emerson Process Management includes multiple applications stored within and executed by different devices located at diverse places within a process network that may be located at a single facility or networked across several facilities or process control plants. A configuration application, which resides in one or more operator workstations, enables users to create or change process control modules and download these process control modules via a data highway to dedicated distributed controllers. Typically, these control modules are made up of communicatively interconnected function blocks that are objects in an object oriented programming protocol and perform functions within the control scheme based on inputs thereto and provide outputs to other function blocks within the control scheme. The configuration application may also allow a user interface designer to create or change operator interfaces or human-machine interfaces (HMIs) which are used by any of a number of monitoring or viewing applications to display data to an operator, a maintenance person, or other user to enable, for example, an operator to change settings, such as set points, within the process control routine, a maintenance person to see alarms or maintenance data for the plant, etc. Each dedicated controller and, in some cases, one or more field devices, store and execute a controller application that runs the control modules assigned and downloaded thereto to implement actual process control functionality and/or that collects, generates and provides other information to a user. The monitoring applications, which may be executed on one or more operator workstations, receive data from the controller applications via the data highway and display this data to process control system designers, operators, or users using the user interface displays, and may provide any of a number of different views, such as an operator view, an engineering view, a technician view, a maintenance view, etc.
As the number and type of control and support applications used in a process control environment have increased, different graphical display applications have been provided to enable users to effectively configure and use these control and support applications. For example, graphical display applications have been used to enable a configuration engineer to create user interfaces for control programs to be downloaded to the control devices within a process plant. Additionally, graphical display applications have been used to build user interfaces that enable control operators to view the current process conditions of the process plant (or areas of the process plant), to supervise and manipulate process control functions, to monitor process-level alarms, etc. Moreover, graphical display applications have been used to create user interfaces or user displays that enable maintenance personnel to view the functioning state of hardware devices and various areas within the process plant, and user interfaces or user displays that permit engineers to simulate the operation of the process plant.
To create the various user interfaces or user displays used by these monitoring applications, a display configuration engineer typically first uses a graphical configuration application to create display objects that are used as elements of or building blocks for more complicated user interface displays, using the display application programming functionality. These building blocks or graphical elements are then used to create user displays that may be implemented on a system-wide basis in one or more of the workstations to thereby provide preconfigured displays to the operator and maintenance personnel regarding the operating state of the control system or the devices within the plant. In larger process plants, displays may be specific to a certain portion of the plant or a certain functional area. In general, the displays take the form of alarming displays that receive and display alarms generated by controllers or devices within the process plant, control displays indicating the operating state of the controllers and other devices within the process plant, maintenance displays indicating the functioning state of the devices within the process plant, etc. Further, these displays are typically preconfigured to display information or data received from the process control modules or the devices within the process plant. For example, a graphic on the display screen may change in real-time to illustrate that a tank is half full or that the position of a valve has changed, or a numerical indictor included in the graphic display may be updated according to the flow measured by a flow sensor or the temperature of a reactor.
Configuration engineers typically dedicate a significant amount of time and effort to developing the display screens or user displays specific to process areas and operational tasks associated with these areas, and budget considerations often do not permit re-development (or even modification) of displays to accommodate new or different sources of information. Moreover, configuration engineers often develop user displays separately from control strategies. As such, when the display or user interface configuration engineer is developing a user display for a particular control strategy, the interface configuration engineer may not yet know which devices the control strategy will use, or all of the operational details of these devices.
During configuration of a user interface or a user display, a graphics configuration engineer may use a graphical display application, that has library or generic graphical display items, such as tanks, valves, sensors, operator control buttons like slide bars, on/off switches, etc., and may place these library or generic graphical elements on a screen in any desired configuration to create an operator display, a maintenance display and the like. When placed onto the screen, individual graphic items may be interconnected on the screen in a manner that provides some information or that displays of the inner-workings of the process plant to different users. To animate the graphic display elements, the display creator manually ties each of the graphical items to data generated within the process plant, such as data measured by sensors or indicative of valve positions, etc. by specifying a communication link between the graphic item and the relevant data source within the process plant. However, the viewing properties or operational functionality of the individual library items used as part of the display may need to be altered to reflect differences in the actual plant equipment being illustrated in the display, different data sources, etc. To change these graphical features, the graphical designer must typically understand and be able to use the graphical configuration program, which typically requires a great deal of experience and skill.
Moreover, the process of creating user displays from template display items and altering each template display item within different user interfaces is manually is tedious, time consuming and may be fraught with error. Additionally, this process requires significant programming knowledge and knowledge of the plant configuration as well as of the graphical configuration program being used to alter the library display items.
Moreover, because graphics used in a user interface are typically defined separately from the control strategies, one graphics display may often be used with multiple different pieces of process equipment or types of process equipment. Because a wide variety of variations of graphics are expected in graphical displays, it is typically necessary to specify which variations are to be allowed or enabled in each of the graphics displays. These variations include, for example, specifying changes such as allowing the user to define the rotation for part of the item, select what strings and variables must be shown in the display and which ones are optional, etc. Without this up front design, the graphic displays cannot even have small changes made thereto without significant programming effort. Unfortunately, a configuration system that attempts to design or pre-specify the allowable changes in all graphics displays quickly becomes unusable, as variations on graphics items in a display is very common. As a result, maintaining graphics cost effectively is an ongoing problem within control systems, and is only exacerbated when the step of maintaining graphics must be coordinated with the changes being made to control elements used in the control configuration system.
Thus, as noted above, process graphics require lengthy and costly engineering time to configure. The displays are often designed based on the piping and instrument diagrams, ensuring that all of the measurements and controls are represented for the operator. While some displays may be programmed for known tasks such as plant startups and shutdowns, it is impractical to create one-off displays that serve all of the potential specific purposes expected to be performed by a particular user or to customize a display for particular task performed by a single user. Moreover, the creation of task specific displays requires collaboration between the engineers and operations personnel, which may not be practical during the configuration effort, which is when the displays are being defined.
As one example, a plant utilizing automated process control will typically have several if not many interactive graphical displays, that provide a mechanism for operators to control the processes that produce the plant products. Graphical displays typically contain several graphical sub-components, known as graphical element modules (GEMs), that allow monitoring of and control of the physical equipment. For example, a valve used to control the flow of material through a pipe, can have a GEM counterpart the provides useful information to a user via a user display. Typically, there is a large number of similar types of equipment, such as valves, used in a plant, so a display can contain many instances of the same GEM representing the different instances of that equipment. Typically, it is the job of a lead graphics designer to create a library of reusable graphical objects, such as GEMs, (e.g. valve GEMs) using a graphical design software application. To do so, the lead graphics designer must be very familiar with the use and operation of the graphic design software, which can be complex in nature. In any event, the created library objects can be copied or linked to many corresponding instances, called GEM usages, within any number of displays. Importantly, each GEM will operate with the same graphical functionality.
A GEM can be complicated on the inside, containing numerous other graphical objects, which makes the GEM versatile and allows it to be built up from smaller elements. For example, there are a number of things a family of control valves have in common (e.g. inlet, outlet, adjustable orifice), but there can be slight differences between the valves, like the components they use to respond to failure conditions. For example, one type of valve opens the valve orifice completely in the fail mode while another type of valve closes the orifice completely in the fail mode. Many similar types of equipment will have various options or differences that will change the manner in which this equipment operates, and thus that may need to be programmed into a valve GEM, based on the particular equipment that the valve GEM is representing. To reduce the number of valve GEMs needed to cover the various types of different functionality associated with a family of equipment, the lead graphics designer typically produces one valve GEM that can be configured to support such equipment, (e.g., valves that operate in either fail mode), instead of creating a separate valve GEM for each combination of equipment features. In particular, making a single valve GEM that represents a family of physical equipment is more efficient than producing a separate valve GEM for each of the possible combinations of features needed to cover the slight variations within the equipment family.
Another way that the lead graphics designer can leverage a GEM's reuse potential, is to use the GEM as an internal component within another related GEM. For example, a lead graphics designer may create a watervalve GEM by combining the functionality of the valve GEM with more specific functionality associated with a physical water valve, thereby reusing the functionality of the valve GEM inside of watervalve GEM, which is more efficient than building a watervalve GEM from scratch.
However, in all cases, the lead graphics designer would like to make it easy to apply and configure instances of a more generic GEM as stored within the GEM library in an effective manner. In fact, the bulk of the user graphical displays for a process plant are generally created by other graphic designers that have less expertise in building GEMs. Therefore, making it easier for other graphical designers to add and configure instances of a GEM to be used within a display translates into greater productivity. As there are typically a large number of graphics designers with a lesser level of experience employed to construct displays for a project, making these other designers more productive translates into a significant reduction in the cost of the project.
Unfortunately, currently, graphical designers with lesser experience still need to understand the specifies of the graphical configuration program in order to be able to change the GEM as stored in the graphical element library to make a GEM usage or instance that operates to reflect the actual combination of different possible features or design options of a plant object, like a valve. Thus, currently, the graphical designers with less experience still need to understand the sometimes complex programming nature of the general graphical design program to make changes to a more generic GEM to create a specific instance thereof that matches the actual plant equipment to which the GEM usage is to be attached. Currently, the lead graphics designer has no way of enabling graphic designers with less experience to easily change the GEMS stored in the library to create a usage the reflects actual plant operation.